package com.jsyl.lwbk.business.mq.receive;

/**
 * @author Fenny
 * 课程队列消息接收
 */
//@Component
public class ScheduleReceive {

//    private static final Logger logger = LoggerFactory.getLogger(ScheduleReceive.class);
//
//    @Autowired
//    private ChildCourseMapper childCourseMapper;
//    @Autowired
//    private CourseChildMapper courseChildMapper;
//
//    @RabbitListener(queues = RabbitConfig.SCHEDULE_OTO_MQ)
//    @RabbitHandler
//    public void saveScheduleDetail(@Payload String queue) {
//        logger.info("接收课程队列消息 ->", queue);
//        // 保存课程
//        ChildCourse schedule = (ChildCourse) JsonMapper.fromJsonString(queue, ChildCourse.class);
//
//        JSONObject jasonObject = JSONObject.parseObject(queue);
//        Map map = (Map)jasonObject;
//        Long oldId = schedule.getId();
//        ChildCourse scheduleLocal = this.childCourseMapper.selectById(oldId);
//        //课程日期、时间格式修改
//        if(map.containsKey("dayDate")){
//            String s= map.get("dayDate").toString();
//            schedule.setDayDate(s.substring(0,4)+"-"+s.substring(4,6)+"-"+s.substring(6,8));
//        }
//        if(map.containsKey("startTime")){
//            String s= map.get("startTime").toString();
//            schedule.setStartTime(s.substring(8,10)+":"+s.substring(10,12)+":"+s.substring(12,14));
//        }
//        if(map.containsKey("endTime")){
//            String s= map.get("endTime").toString();
//            schedule.setEndTime(s.substring(8,10)+":"+s.substring(10,12)+":"+s.substring(12,14));
//        }
//        //projectType初始化
//        //一对一认知力课
//        if("25".equals(schedule.getCourseId())){
//            schedule.setProjectType(2);
//        }
//        //一对一言语语言课
//        if("26".equals(schedule.getCourseId())){
//            schedule.setProjectType(3);
//        }
//        //一对一感知觉与运动
//        if("27".equals(schedule.getCourseId())){
//            schedule.setProjectType(1);
//        }
//        //阅读理解
//        if("31".equals(schedule.getCourseId())||"32".equals(schedule.getCourseId())){
//            schedule.setAgeGrade(String.valueOf(schedule.getGradeType()));
//        }
//        //小学能、小感统
//        if("35".equals(schedule.getCourseId())||"36".equals(schedule.getCourseId())){
//            //  17：3-4岁，18：4-5岁，19：2-3岁
//            if(schedule!=null && schedule.getGradeType()!=null){
//                String gradeType= String.valueOf(schedule.getGradeType());
//                if(StringUtils.equals("17",gradeType)){
//                    schedule.setAgeGrade("3");
//                }
//                if(StringUtils.equals("18",gradeType)){
//                    schedule.setAgeGrade("4");
//                }
//                if(StringUtils.equals("19",gradeType)){
//                    schedule.setAgeGrade("2");
//                }
//            }
//
//        }
//        //入学准备课：因计划按周出， 初始化classTimes为本年的第几周，
//        if("33".equals(schedule.getCourseId())){
//            LocalDate scheduleDate = LocalDate.parse(schedule.getDayDate());
//            int weekNum = scheduleDate.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR);
//            schedule.setClassTimes(weekNum);
//        }
//        //社交准备课：因计划按月出， 初始化classTimes为本年的第几月，
//        if("34".equals(schedule.getCourseId())){
//            LocalDate scheduleDate = LocalDate.parse(schedule.getDayDate());
//            int monthNum = scheduleDate.getMonthValue();
//            schedule.setClassTimes(monthNum);
//        }
//        //运动力课和感统课处理
//        if("28".equals(schedule.getCourseId())||"29".equals(schedule.getCourseId())){
//            schedule.setClassId(schedule.getClassId());
//            String temp = schedule.getStartAge()+"-"+schedule.getEndAge();
//            if(schedule.getAgeSectionType().equals(1)){
//                schedule.setAgeGrade(DictUtils.getDictValue("age_grade",temp+"岁"));
//            }
//            if(schedule.getAgeSectionType().equals(2)){
//                schedule.setAgeGrade(DictUtils.getDictValue("age_grade",temp+"年级"));
//            }
//            if(scheduleLocal == null){
//                schedule.setPrepareStatus(0);
//                schedule.setScoreFlag(0);
//            }
//        }
//        //新增或更新(正常数据)
//        try {
//            if (scheduleLocal == null) {
//                if (map.containsKey("status") && !(map.get("status").toString()).equals("2")) {
//                    schedule.setId(Long.valueOf(oldId));
//                    schedule.setCreateTime(new Date());
//                    schedule.setUpdateTime(new Date());
//                    schedule.setStatus(0);
//                    childCourseMapper.insert(schedule);
//                }
//            } else {
//                if (((Integer)map.get("status")).equals(2)){
//                    childCourseMapper.deleteById(oldId);
//                    courseChildMapper.deleteByCourseId(oldId);
//                } else {
//                    schedule.setPrepareStatus(scheduleLocal.getPrepareStatus());
//                    schedule.setScoreFlag(scheduleLocal.getScoreFlag());
//                    schedule.setCreateTime(new Date());
//                    schedule.setUpdateTime(new Date());
//                    ChildCourseExample childCourseExample =new ChildCourseExample();
//                    childCourseExample.createCriteria().andIdEqualTo(oldId);
//                    childCourseMapper.updateByExample(schedule,childCourseExample);
//                }
//            }
//        } catch (Exception e) {
//            logger.error("保存课程失败 ->{}", e.getMessage());
//            throw e;
//        }
//    }
}

